package com.duobaoyu.dby.supply.common.biz.vo.refund;

import lombok.Data;

import java.io.Serializable;
import java.util.List;

/**
 * 售后详情
 *
 * @author fengshaoyu
 * @version 1.0.0
 * @date 2022/10/5 14:07
 */
@Data
public class AfterSaleVO implements Serializable {
	/**
	 * 渠道主售后单号
	 */
	private String afterSaleSn;

	/**
	 * 售后类型 1-退货 2-换货 3-维修 4-仅退款
	 */
	private Integer afterSaleType;
	/**
	 * 售后类型描述 1-退货 2-换货 3-维修 4-仅退款
	 */
	private String afterSaleTypeDesc;

	/**
	 * 1->待dby审核；2->dby审核成功；3->dby审核失败；4->（渠道）申请中待审核;5->渠道审核成功;6->渠道审核驳回;7->等待买家退货;8->待卖家确认售后;9->卖家确认收货;10->待退款;11->处理完成（如需退款则等待退款）；12->处理失败;13->待用户确认;14->用户确认完成;15->系统确认完成;16->取消;17->售后失败;18->待买家修改
	 */
	private Integer afterSalesStatus;
	/**
	 * 1->待dby审核；2->dby审核成功；3->dby审核失败；4->（渠道）申请中待审核;5->渠道审核成功;6->渠道审核驳回;7->等待买家退货;8->待卖家确认售后;9->卖家确认收货;10->待退款;11->处理完成（如需退款则等待退款）；12->处理失败;13->待用户确认;14->用户确认完成;15->系统确认完成;16->取消;17->售后失败;18->待买家修改
	 */
	private String afterSalesStatusDesc;
	/**
	 * 售后备注
	 */
	private String afterSaleRemark;

	/**
	 * 问题描述图片，json格式
	 */
	private List<String> afterSaleImage;
	/**
	 * 售后原因编码
	 */
	private String reasonCode;
	/**
	 * 售后原因说明
	 */
	private String reasonName;
	/**
	 * 描述：失败原因
	 */
	private String failReason;
	/**
	 * 描述：售后来源 0 用户申请 1 运营申请 2 系统自动生成
	 */
	private Integer afterSaleSource;
	/**
	 * 实际展示系统来源
	 */
	private String showServerName;

	/**
	 * 1：审核、2：驳回确认 3：重新提交 4：地址回填 5：退款处理
	 * @see com.duobaoyu.dby.supply.common.biz.enums.ButtonTypeEnum
	 */
	private List<Integer> buttonType;
	/**
	 * @see com.duobaoyu.dby.supply.common.biz.enums.AuditAgreeTypeEnum
	 */
	private Integer agreeType;

	private String channelCode;

	/**
	 * 售后单基础信息
	 */
	private AfterSaleBaseInfoVO afterSaleBaseInfo;
	/**
	 * 寄回商户地址
	 */
	private AfterSaleSendBackAddressVO sendBackAddress;
	/**
	 * 售后商品
	 */
	private List<AfterSaleItemVO> afterSaleItemList;
}
